package com.village.friend.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author yl
 * @since 2021-11-13
 */
@Data
@ApiModel(value = "User对象", description = "")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;
    // 根据已有字段算出来的数据,不是数据库原生数据
    @TableField(exist = false)
    Integer age;
    @TableField(exist = false)
    Integer vipLeft;
    @TableField(exist = false)
    Double distance;
    @TableField(exist = false)
    Integer online;
    @TableField(exist = false)
    String token;
    @ApiModelProperty(value = "uid")
    @TableId(value = "uid", type = IdType.AUTO)
    private Integer uid;

    @ApiModelProperty(value = "账号")
    private String username;

    @ApiModelProperty(value = "昵称")
    private String name;

    @ApiModelProperty(value = "电话")
    private String mobile;

    @ApiModelProperty(value = "头像")
    private String icon;

    @ApiModelProperty(value = "性别 0男 ,1 女")
    private Integer gender;

    @ApiModelProperty(value = "生日")
    private String birth;

    @ApiModelProperty(value = "身高")
    private Integer height;

    @ApiModelProperty(value = "体重")
    private Integer weight;

    @ApiModelProperty(value = "我的相册")
    private String photos;

    @ApiModelProperty(value = "是1否0隐藏地址")
    private Integer isHide;

    @ApiModelProperty(value = "是1否0冻结")
    private Integer isFreeze;

    @ApiModelProperty(value = "是1否0注销")
    private Integer isLogout;

    @ApiModelProperty(value = "上级用户ID")
    private Integer parent;

    @ApiModelProperty(value = "上级用户名")
    private Integer isAgent;

    @ApiModelProperty(value = "邀请码")
    private String inviteCode;

    @ApiModelProperty(value = "vip等级：0不是vip 1:青铜 2：白银 3:黄金")
    private Integer vipLevel;

    @ApiModelProperty(value = "vip截止时间")
    private LocalDateTime vipEnd;

    @ApiModelProperty(value = "常驻城市")
    private String residentCity;

    @ApiModelProperty(value = "定位城市")
    private String city;

    @ApiModelProperty(value = "纬度")
    private Double latitude;

    @ApiModelProperty(value = "经度")
    private Double longitude;

    @ApiModelProperty(value = "自我介绍")
    private String selfDesc;

    @ApiModelProperty(value = "职业")
    private String profession;

    @ApiModelProperty(value = "年薪")
    private String salaryYear;

    @ApiModelProperty(value = "微信")
    private String weChatAccount;

    @ApiModelProperty(value = "flags")
    private String flags;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "其他")
    private String ex;

    @ApiModelProperty(value = "建立时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "最后更新时间")
    private LocalDateTime updateTime;


    @Override
    public String toString() {
        return "User{" +
                "uid=" + uid +
                ", username=" + username +
                ", name=" + name +
                ", mobile=" + mobile +
                ", icon=" + icon +
                ", gender=" + gender +
                ", birth=" + birth +
                ", height=" + height +
                ", weight=" + weight +
                ", photos=" + photos +
                ", isHide=" + isHide +
                ", isFreeze=" + isFreeze +
                ", isLogout=" + isLogout +
                ", parent=" + parent +
                ", inviteCode=" + inviteCode +
                ", vipLevel=" + vipLevel +
                ", vipEnd=" + vipEnd +
                ", residentCity=" + residentCity +
                ", city=" + city +
                ", latitude=" + latitude +
                ", longitude=" + longitude +
                ", selfDesc=" + selfDesc +
                ", profession=" + profession +
                ", salaryYear=" + salaryYear +
                ", weChatAccount=" + weChatAccount +
                ", flags=" + flags +
                ", email=" + email +
                ", ex=" + ex +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                "}";
    }
}
